home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / nyan_e2 / nyane2ex.plp < prev    next >
Text File  |  1993-11-30  |  4KB  |  176 lines

  1. /**********   受信ログから発言を 削除/切出 する  v1.04a用   **********/
  2.  
  3. %pullout{
  4.     %tracemes{
  5.         %max @nolmemo(2)-1;
  6.         lno:=1;
  7.         footnote({ 発言を切り出しています});
  8.         loop({
  9.             %st  @getchar(@memo(2,lno,1),1,8);
  10.             %len @getchar(@memo(2,lno+1,1),1,8)-st;
  11.             mset(4,{n});
  12.             case(len>0,{Yes},{
  13.                 case(@post2(lno),
  14.                 {保},{    mclear(4);
  15.                     mread(fname,4,st,len);
  16.                     write(wkfile,@memo(4));
  17.                 },,{
  18.                 });
  19.             });
  20.             lno:=lno+1;
  21.             im(lno<=max);
  22.         });
  23.     };
  24.     var lno[6];
  25.     var treemode[3];
  26.     var child[3];
  27.     CloseAllMemo;
  28.     footnote({ 発言を切り出すファイルを入力してください});
  29.     %wkfile @filesel;
  30.     case(wkfile<>{},{Yes},{
  31.         case(@filechk(wkfile),
  32.         {Yes},{
  33.             select(wkfile|{があります},9999,{
  34.             },{  上 書  },{    delfile(wkfile);
  35.                     tracemes;
  36.             },{  追 加  },{    tracemes;
  37.             },{  中 止  },{
  38.             });
  39.         },{No},{tracemes;
  40.         });
  41.     });
  42.     mclear(4);
  43.     mclear(2);
  44.     mread(MesDat,2);
  45.     footnote({});
  46.     im({Yes});
  47. };
  48.  
  49. %treecopy{
  50.     %copymes{
  51.         %max @nolmemo(2)-1;
  52.         lno:=1;
  53.         child:={No};
  54.         footnote({ 発言を切り出しています});
  55.         loop({
  56.             %LineData    @read(DataDat,lno,1);
  57.             %st  @getchar(LineData,1,8);
  58.             %len @getchar(LineData,10,8)-st;
  59.             mset(4,{n});
  60.             case(len>0,{Yes},{
  61.                 case(@copyset(lno),
  62.                   {保},{mclear(4);
  63.                     mread(fname,4,st,len);
  64.                     write(wkfile,@memo(4));
  65.                     child:={Yes};
  66.                 },{子},{case(treemode={Yes} && child={Yes},
  67.                     {Yes},{    mclear(4);
  68.                         mread(fname,4,st,len);
  69.                         write(wkfile,@memo(4));
  70.                     });
  71.                 },,{    child:={No};
  72.                 });
  73.             });
  74.             lno:=lno+1;
  75.             im(lno<=max);
  76.         });
  77.     };
  78.     var lno[6];
  79.     var treemode[3];
  80.     var child[3];
  81.     CloseAllMemo;
  82.     loop({
  83.         select({ どちらの方式で発言を切り出しますか?},
  84.         9999,{im({Yes});
  85.         },{  各発言単位  },{treemode:={No};  im({No});
  86.         },{  ツリー単位  },{treemode:={Yes}; im({No});
  87.         });
  88.     });
  89.     footnote({ 発言を切り出すファイルを入力してください});
  90.     %wkfile @filesel;
  91.     case(wkfile<>{},{Yes},{
  92.         case(@filechk(wkfile),
  93.         {Yes},{
  94.             select(wkfile|{があります},9999,{
  95.             },{  上 書  },{    delfile(wkfile);
  96.                     copymes;
  97.             },{  追 加  },{    copymes;
  98.             },{  中 止  },{
  99.             });
  100.         },{No},{copymes;
  101.         });
  102.     });
  103.     mclear(4);
  104.     mclear(2);
  105.     mread(TreeDat,2);
  106.     footnote({});
  107.     im({Yes});
  108. };
  109.  
  110. %expire{
  111.     var lno[6];
  112.     var cond[2];
  113.     %max @nolmemo(2)-1;
  114.     lno:=2;
  115.     cond:={正};
  116.     footnote({ 不要文書の削除をしています});
  117.     loop({
  118.         %st  @getchar(@memo(2,lno,1),1,8);
  119.         %len @getchar(@memo(2,lno+1,1),1,8)-st;
  120.         CloseAllMemo;
  121.         mset(4,{n});
  122.         case(len>0,{Yes},{
  123.             case(@post(lno),
  124.             {保},{
  125.             },,{    mclear(4);
  126.                 mread(wkfile,4,st,len);
  127.                 write(fname,@memo(4));
  128.             });
  129.         });
  130.         lno:=lno+1;
  131.         im(lno<=max);
  132.     });
  133.     footnote({});
  134.     im(cond);
  135. };
  136.  
  137. %prexp{
  138.     CloseAllMemo;
  139.     %wkfile @head(fname,{.})|{.BAK};
  140.     dispoff({Yes});
  141.     command({ren }|fname|{ }|@tail(wkfile,{\}));
  142.     dispoff({No});
  143.     case(@filechk(wkfile),
  144.     {Yes},{
  145.         expire;
  146.         case(@filechk(fname),{No},{
  147.             loop({
  148.                 select({ 除去後のファイルは空です.文書を削除}|
  149.                     {してよろしいですか?},9999,{im({Yes});
  150.                 },{ OK },{
  151.                     delfile(wkfile);
  152.                     im({No});
  153.                 },{ NG },{
  154.                     copyfile(wkfile,fname);
  155.                     delfile(wkfile);
  156.                     im({No});
  157.                 });
  158.             });
  159.         });
  160.         case(@filechk(fname),
  161.         {Yes},{    mclear(2);
  162.             del;
  163.             delfile(wkfile);
  164.             HEADER;
  165.         },{No},{delmark(fname);
  166.             del;
  167.         });
  168.     },{No},{ ok({ディスク容量不足です(作業領域が確保できません)});
  169.     });
  170. };
  171.  
  172. case(key,
  173.     {PF6},{prexp},
  174.     {PF7},{case(TREE,{Yes},{treecopy},{No},{pullout});
  175. });
  176.